/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"60AA0E68-5512-40C5-9841-4C799DBBAE61",variableType:4}
 */
var gDisponibilidad = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"F7BC9870-9F3C-429B-A1B9-E92087F4894C",variableType:4}
 */
var gHabitacion = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"15DF70A6-C228-4B65-870C-FF1675C9FF85",variableType:4}
 */
var gTarifa = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"A69A3610-E8A5-441D-807D-4D8C6B052F9C",variableType:4}
 */
var gTemporada = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"218CFA62-83A7-425E-B96C-26A57C1A7C9D",variableType:4}
 */
var gHotelId = null;


/**
 * Callback method for when solution is opened.
 *
 * @properties={typeid:24,uuid:"DD0536C9-539C-465B-B811-D7A317B5DFEF"}
 */
function onSolutionOpen() {
	application.putClientProperty(APP_UI_PROPERTY.TABLEVIEW_WC_DEFAULT_SCROLLABLE, true);
	//buscarUsuario()
	filtroCadena()
	aplicarEstilo('hoteleria_'+gcadena_to_cadenas.estilo)
	if (gusuario_to_usuarios.tipo_usuario == 3)//ADMIN
	{
		var $hotel 	= gcadena_to_hoteles.hotel_id
	}
	else
	{
		var $hotel 	= gusuario_to_usuarios_x_hotel.hotel_id
	}
	globals.gHotelId = $hotel
	filtroHotel($hotel)
	llenarVlTiposUsr()
	llenarVlHoteles()
}

/**
 * @param {Number} hotel
 * 
 * @properties={typeid:24,uuid:"F66E98CE-FDFF-4E48-B948-5C2EA87A1721"}
 */
function filtroHotel(hotel)
{
	if (hotel == null)
	{
		hotel = 0
	}
	llenarVlMonedas()
	//Se hace asi por los permisos de cada usuario (se deben ver todos los hoteles)
	databaseManager.removeTableFilterParam('hoteleria','MEDIOS_PAGO')
	databaseManager.removeTableFilterParam('hoteleria','PRECIOS')
	databaseManager.removeTableFilterParam('hoteleria','PROMOS')
	databaseManager.removeTableFilterParam('hoteleria','SERVICIOS')
	databaseManager.removeTableFilterParam('hoteleria','TARIFAS')
	databaseManager.removeTableFilterParam('hoteleria','TEMPORADAS')
	databaseManager.removeTableFilterParam('hoteleria','HABITACIONES')
	databaseManager.removeTableFilterParam('hoteleria','DISPONIBILIDADES')
	
	databaseManager.addTableFilterParam('hoteleria','hoteles_medios_pago','hotel_id','=',hotel,'MEDIOS_PAGO')
	databaseManager.addTableFilterParam('hoteleria','precios','hotel_id','=',hotel,'PRECIOS')
	databaseManager.addTableFilterParam('hoteleria','promociones_cab','hotel_id','=',hotel,'PROMOS')
	databaseManager.addTableFilterParam('hoteleria','servicios_x_hotel','hotel_id','=',hotel,'SERVICIOS')
	databaseManager.addTableFilterParam('hoteleria','tarifas','hotel_id','=',hotel,'TARIFAS')
	databaseManager.addTableFilterParam('hoteleria','temporadas','hotel_id','=',hotel,'TEMPORADAS')
	databaseManager.addTableFilterParam('hoteleria','tipos_habitacion','hotel_id','=',hotel,'HABITACIONES')
	databaseManager.addTableFilterParam('hoteleria','disponibilidad','hotel_id','=',hotel,'DISPONIBILIDADES')
	forms.hoteles_dtl.controller.loadRecords(globals.gHotelId)
}

/**
 * @properties={typeid:24,uuid:"7FCE5979-C15C-4CD7-BF30-E1C229B75B2B"}
 */
function filtroCadena()
{
	databaseManager.addTableFilterParam('hoteleria',null,'cadena_id','=',globals.gCadena)
}

/**
 * @properties={typeid:24,uuid:"83E6A7B2-A87A-40B4-B1B1-6E94EB06C23F"}
 */
function buscarUsuario()
{
	var $sql = 'SELECT cadena_id, usuario_id FROM usuarios WHERE usuario = ?'
	var $args = [security.getUserName()]
	var $ds = databaseManager.getDataSetByQuery('hoteleria',$sql,$args,-1)
	
	if ($ds.getMaxRowIndex() == 1)
	{
		globals.gCadena 	= $ds.getValue(1,1)
		globals.gUsuarioId 	= $ds.getValue(1,2)
	}
}

/**
 * @properties={typeid:24,uuid:"81693925-5BF0-4ED3-9785-3D4D35BB3D84"}
 */
function llenarVlTiposUsr()
{
	//TIPOS DE USUARIO ALTA
	var $query = 'SELECT texto, codigo_numerico FROM tab_detalle WHERE valuelist_name = \'tipos_usuario\' AND codigo_numerico <= ?'
	var $args = [gusuario_to_usuarios.tipo_usuario]
	var $ds = databaseManager.getDataSetByQuery('hoteleria',$query,$args,-1)
	application.setValueListItems('tipos_usuario_alta',$ds)
}

/**
 * @properties={typeid:24,uuid:"20DD6BC8-93C2-43A1-8814-F9BC989B3810"}
 */
function llenarVlHoteles() {
	if (gusuario_to_usuarios.tipo_usuario == 3)//ADMIN
	{
		var $query = 'SELECT nombre_fantasia, hotel_id FROM hoteles WHERE cadena_id = ?'
		var $args = [globals.gCadena]
	}
	else
	{
		var $query = 'SELECT nombre_fantasia, hotel_id FROM hoteles WHERE hotel_id IN (SELECT hotel_id FROM usuarios_x_hotel WHERE usuario_id = ?)'
		var $args = [globals.gUsuarioId]
	}
	var $ds = databaseManager.getDataSetByQuery('hoteleria',$query,$args,-1)
	application.setValueListItems('hoteles',$ds)
}

/**
 * @properties={typeid:24,uuid:"03DB76F6-256D-4CC2-BC29-08246921FC49"}
 */
function llenarVlMonedas()
{
	var $sql 		= 'select codigo, moneda_id from monedas where moneda_id = ? or moneda_id = 2'
	var $args 		= [ghotel_to_hoteles.hoteles_to_paises.moneda_id]
	var $ds 		= databaseManager.getDataSetByQuery('hoteleria',$sql,$args,-1)
	application.setValueListItems('monedas',$ds)
}

/**
 * @param {String} estilo
 * 
 * @properties={typeid:24,uuid:"821A5C99-FD93-45B1-AD47-438E36B48F93"}
 */
function aplicarEstilo(estilo)
{
	var $forms = solutionModel.getForms()
	var $cant = $forms.length
	
	for (var i = 0 ; i < $cant ; i++)
	{
		var $frm = $forms[i]
		$frm.styleName = estilo
		forms[$frm.name].controller.recreateUI()
	}
}
